package cn.maihe.elg.operation.supports.bank.cmb.tradingmanager.pojo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import javax.validation.constraints.Size;


/**
 * <p>
 * 实体类
 * 邮寄地址表
 * </p>
 *
 * @author system
 * @since 2021-08-06
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "ConfigDTO", description = "配置Dto")
@Configuration
@ConfigurationProperties(prefix = "cn.maihe.elg.bank.cmb-bank.transaction-manager")
public class ConfigDTO {
    /**
     * 开户名称
     * 例：某某某公司、秦某某
     */
    @ApiModelProperty(value = "资金账户")
    @Size(max = 255, message = "资金账户长度不能超过255")
    private String bankAccount;

    /**
     * 开户银行
     * 例：招商、建设等
     */
    @ApiModelProperty(value = "开户银行")
    @Size(max = 255, message = "开户银行长度不能超过255")
    private String bankName;

    /**
     * 开户账号
     * 例：60000048491658000009999
     */
    @ApiModelProperty(value = "开户账号")
    @Size(max = 255, message = "开户账号长度不能超过255")
    private String bankNumber;

    /**
     * 开户分行号
     */
    @ApiModelProperty(value = "开户分行号")
    @Size(max = 255, message = "开户分行号长度不能超过255")
    private String bankBranchNumber;

    /**
     * 公钥
     */
    @ApiModelProperty(value = "公钥")
    @Size(max = 500, message = "公钥长度不能超过500")
    private String publicKey;

    /**
     * 私钥
     */
    @ApiModelProperty(value = "私钥")
    @Size(max = 2000, message = "私钥长度不能超过2000")
    private String privateKey;

    /**
     * 国密SM4密钥
     */
    @ApiModelProperty(value = "私钥")
    @Size(max = 2000, message = "私钥长度不能超过2000")
    private String sm4Key;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID")
    @Size(max = 50, message = "用户ID长度不能超过50")
    private String userId;

    /**
     * url
     */
    @ApiModelProperty(value = "url")
    @Size(max = 500, message = "url长度不能超过500")
    private String url;

    /**
     * 业务模式
     */
    private String busmod;
}
